<template>
  <div class="child">
    <h3>子组件</h3>
    <h4>玩具：{{ toy }}</h4>
    <!-- 在模板中使用 emit触发自定义事件,并传递数据-->
    <button @click="emit('send-toy', toy)">给父组件玩具</button>
    <button @click="emit('test')">test</button>
  </div>
</template>

<script setup lang="ts" name="Child">
import { onMounted, ref } from "vue";

// 数据
let toy = ref("奥特曼");

// 声明自定义事件,可以在任意时刻进行调用
const emit = defineEmits(["send-toy", "test"]); // 可以声明接收多个自定义事件

// 组件挂载三秒后给父组件玩具
/* onMounted(() => {
  setTimeout(() => {
    emit("sendToy", toy.value); // 触发自定义事件,并传递数据
  }, 3000);	
}); */
</script>

<style scoped>
.child {
  margin-top: 10px;
  background-color: rgb(76, 209, 76);
  padding: 10px;
  box-shadow: 0 0 10px black;
  border-radius: 10px;
}
</style>
